iT邦幫忙

1

php 使用 Curl 傳遞 json 資料給對方及顯示對方回傳的 json (Json 格式 / API 串接 / HttpRequest)

  • 分享至 

  • xImage
  •  
function httpRequest($api, $data_string) {

  $ch = curl_init($api);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json',
      'Content-Length: ' . strlen($data_string))
  );
  $result = curl_exec($ch);
  curl_close($ch);

  return json_decode($result, true);
}

將以下資料變成 json 格式傳輸傳給對方接應的 <https-api-url>

$data = array(
    "id" => $id,
    "field" => $field
);
$data = httpRequest('<https-api-url>', json_encode($data));

要印出對方回的 json key and value 內容時

echo $data['message'];

如果對方回的是 json array,使用 foreach 接應即可
就能夠印出迴圈,對方回傳多少筆就印多少筆

foreach ($data as $value) {
    echo $value['message'];
}

可以使用 sizeof 查看 object 的長度,輕鬆做判斷

echo sizeof($data); // int

如果對方回的不是 json 只是直接傳 body 過來
將上面的 function 中的

return json_decode($result, true);

#改為
return $result;

然後直接印出即可

echo $data;

https://ianakaberlin.medium.com/php-%E4%BD%BF%E7%94%A8-curl-%E5%AF%AB%E4%B8%80%E5%80%8B-http-request-%E5%82%B3%E9%81%9E-json-%E8%B3%87%E6%96%99%E7%B5%A6%E5%BE%8C%E7%AB%AF%E5%8F%8A%E6%8E%A5%E6%94%B6%E5%B0%8D%E6%96%B9%E5%9B%9E%E5%82%B3%E7%9A%84-json-%E8%B3%87%E6%96%99-json-api-%E4%B8%B2%E6%8E%A5-httprequest-%E4%BC%8A%E6%81%A9%E8%B8%A9%E5%9D%91%E7%AD%86%E8%A8%98-6fbc6e3b807a


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言